package com.zhkc.iess.model.client.factoy;

import com.zhkc.iess.model.client.feign.Test01Feign;
import com.zhkc.wisdom.common.pojo.vo.ComboxVO;
import com.zhkc.wisdom.common.pojo.vo.ResultVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;

/**
 * 程序异常，降级处理（运行异常不会到这里，会走全局异常处理）
 */
@Component
@Slf4j
public class TestServiceFallbackFactory implements FallbackFactory<Test01Feign> {

    @Override
    public Test01Feign create(Throwable throwable) {
        // 可以将异常继续抛出，也可以实现自定义的内容
        return new Test01Feign() {
            @Override
            public ResultVO<ComboxVO> getMark() {
                log.error("服务远程调用异常：{}",throwable.getMessage());
                return null;
            }
        };
    }
}
